<?php
/**
 * common repository file Created by PhpStorm.
 * User: wumengmeng
 * Date: 2019/08/20
 * Time: 06:07
 */
 
 namespace HiCommon\Repository;

use HiCommon\Model\EntrustRoleUser;

class EntrustRoleUserRepository extends BaseRepository
{
    public function base_model(){
        return new \HiCommon\Model\EntrustRoleUser();
    }

    /**
     * 分页获取全部数据
     *
     * @param array $arr_option
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function get_all($arr_option = [])
    {
        return EntrustRoleUser::commonget($arr_option);
    }

    /**
     * 分页获取数据
     *
     * @param array $arr_option
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function get_list($arr_option = [])
    {
        return EntrustRoleUser::commonpage($arr_option);
    }
    
    /**
     * 通过where分页获取数据
     *
     * @param array $arr_where
     * @param array $arr_option
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function get_list_by_where($arr_where,$arr_option = [])
    {
        return EntrustRoleUser::where($arr_where)->commonpage($arr_option);

    }
    
    /**
     * 根据条件统计数量
     *
     * @param array $arr_where
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function get_count_by_where($arr_where)
    {
        return EntrustRoleUser::where($arr_where)->count();
    }
    
    /**
     * 根据条件统计总和
     *
     * @param array  $arr_where
     * @param string $s_field
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function get_sum_by_where($arr_where = [],$s_field = 'mark')
    {
        return EntrustRoleUser::where($arr_where)->sum($s_field);
    }

    /**
     * 通过where分页获取一条数据
     *
     * @param array $arr_where
     * @param array $arr_option
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function get_one_by_where($arr_where,$arr_option = [])
    {
        return EntrustRoleUser::where($arr_where)->first($arr_option);
    }

//    /**
//     * 添加一条数据
//     *
//     * @param array $arr_input
//     *
//     * @return mixed
//     * @author wumengmeng <wu_mengmeng@foxmail.com>
//     */
//    public function add_one($arr_input)
//    {
//        return EntrustRoleUser::create($arr_input);
//    }

    /**
     * 添加一条后台用户角色信息
     *
     * @param $arr_input
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function add_one_admin_role_user($arr_input){
        $arr_input['model'] = 'admin';
        return self::base_add_one($arr_input);

    }

    /**
     * 添加一条后台用户角色信息
     *
     * @param $arr_input
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function add_one_shop_role_user($arr_input){
        $arr_input['model'] = 'shop';
        return self::base_add_one($arr_input);

    }

    /**
     * 更新或新建一条数据
     *
     * @param $arr_where
     * @param $arr_input
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function edit_or_create($arr_where,$arr_input){
        $res = EntrustRoleUser::where($arr_where)->get()->toarray();
        if(count($res) <= 0){
            $result = EntrustRoleUser::create(array_merge($arr_where,$arr_input));
        }
        else{
            $result = EntrustRoleUser::where($arr_where)->update($arr_input);
        }
        return EntrustRoleUser::where($arr_where)->get();
    }

//    /**
//     * 查询一条数据
//     *
//     * @param int $n_id
//     * @param array $arr_option
//     *
//     * @return mixed
//     * @author wumengmeng <wu_mengmeng@foxmail.com>
//     */
//    public function get_one(int $n_id, $arr_option = [])
//    {
//        return EntrustRoleUser::commonfind($n_id, $arr_option);
//    }
//
//    /**
//     * 修改一条数据
//     *
//     * @param array $arr_input
//     *
//     * @return mixed
//     * @author wumengmeng <wu_mengmeng@foxmail.com>
//     */
//    public function edit_one(array $arr_input)
//    {
//        return EntrustRoleUser::where('id',$arr_input['id'])->update($arr_input);
//    }
//
//    /**
//     * 删除一条数据
//     *
//     * @param int $n_id
//     *
//     * @return mixed
//     * @author wumengmeng <wu_mengmeng@foxmail.com>
//     */
//    public function delete_one(int $n_id)
//    {
//        return EntrustRoleUser::where('id', $n_id)
//                             ->commondelete();
//    }
//
//    /**
//     * 修改一条数据状态
//     *
//     * @param int $n_id
//     * @param int $n_state
//     *
//     * @return mixed
//     * @author wumengmeng <wu_mengmeng@foxmail.com>
//     */
//    public function change_one_state(int $n_id,int $n_state)
//    {
//        return EntrustRoleUser::where('id',$n_id)->update(['state'=>$n_state]);
//
//    }
//
//    /**
//     * 字段自增
//     *
//     * @param int    $n_id
//     * @param string $s_field
//     * @param int    $n_step
//     *
//     * @return mixed
//     * @author wumengmeng <wu_mengmeng@foxmail.com>
//     */
//    public function increase_num($n_id,$s_field = 'commend_num',$n_step = 1)
//    {
//        return EntrustRoleUser::where('id',$n_id)->increment($s_field,$n_step);
//    }
//
//    /**
//     * 字段自减
//     *
//     * @param int    $n_id
//     * @param string $s_field
//     * @param int    $n_step
//     *
//     * @return mixed
//     * @author wumengmeng <wu_mengmeng@foxmail.com>
//     */
//    public function decrease_num($n_id,$s_field = 'commend_num',$n_step = 1)
//    {
//        return EntrustRoleUser::where('id',$n_id)->decrement($s_field,$n_step);
//    }


}